package com.xcf.service.business.finance;

import java.util.List;
import java.util.Map;

import com.xcf.util.PageData;

public interface CostCheckListService {
	/**
	 * 数据查询
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<Map> findCostCheckList(PageData pd)throws Exception;
	/**
	 * 发票号查询
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<Map> findInvoice()throws Exception;
	/**
	 * 查询托单编号
	 * @return
	 * @throws Exception
	 */
	public List<Map> findBillCode()throws Exception;
	/**
	 * 保存信息
	 * @param pd
	 * @throws Exception
	 */
	public void saveCostCheckList(PageData pd)throws Exception;
	/**
	 * 查找部门
	 * @return
	 * @throws Exception
	 */
	public List<Map>findDepartment()throws Exception;
	/**
	 * 根据id查找
	 * @return
	 * @throws Exception
	 */
	public PageData findCostCheckListById(String id)throws Exception;
	/**
	 * 查找付款单号
	 * @return
	 * @throws Exception
	 */
	public List<Map>findPaymentNum(PageData pd)throws Exception;
	
	public List<Map>findPaymentInfo(PageData pd)throws Exception;
	
	public void updateInfo(PageData pd)throws Exception;
	/**
	 * 查询抵扣收入信息
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<Map>findPaymentInfoWhere(PageData pd)throws Exception;
	/**
	 * 查询收入
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<Map>findIncomeInfo(PageData pd)throws Exception;
	/**
	 * 查询借款
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<Map>findLoanInfo(PageData pd)throws Exception;
	/**
	 * 保存公共信息
	 * @param pd
	 * @throws Exception
	 */
	public void saveCostInfo (PageData pd)throws Exception;
	/**
	 * 保存付款信息
	 * @param pd
	 * @throws Exception
	 */
	public void saveCostDetail (PageData pd)throws Exception;
	/**
	 * 保存借款预付信息
	 * @param pd
	 * @throws Exception
	 */
	public void saveCostLoanDetail (PageData pd)throws Exception;
	/**
	 * 保存收入预付信息
	 * @param pd
	 * @throws Exception
	 */
	public void saveCostIncomeDetail (PageData pd)throws Exception;
	
	public Object getPaymentCode(PageData pd)throws Exception;
	
	/**
	 * 更新公共信息
	 * @param pd
	 * @throws Exception
	 */
	public  void updateCostData(PageData pd)throws Exception;
	/**
	 * 更新付款信息
	 * @param pd
	 * @throws Exception
	 */
	public  void updateCostDetail(PageData pd)throws Exception;
	/**
	 * 更新借款预付信息
	 * @param pd
	 * @throws Exception
	 */
	public  void updateCostLoanDetail(PageData pd)throws Exception;
	/**
	 * 更新收入预付信息
	 * @param pd
	 * @throws Exception
	 */
	public  void updateCostIncomeDetail(PageData pd)throws Exception;
	/**
	 * 查找收入信息
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<Map> findIncomeInfoBy(PageData pd)throws Exception;
	/**
	 * 根据id查找预收明细
	 * @param id
	 * @return
	 * @throws Exception
	 */
	public PageData findCostInfoLoanById(String id)throws Exception;
	/**
	 * 保存预收记录
	 * @param pd
	 * @throws Exception
	 */
	public void saveCostLoanRecordDetail(PageData pd)throws Exception;
	/**
	 * 删除预收明细
	 * @param id
	 * @throws Exception
	 */
	public void deleteCostInfoLoan(String id)throws Exception;
	/**
	 * 根据付款单号查找信息
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<Map> findInfo(PageData pd)throws Exception;
}
